require 'rubygems'
gem 'soap4r'
require 'soap/wsdlDriver'
require 'soap/header/simplehandler'
require 'defaultDriver.rb'
require 'authStub.rb'

#Async create options
#options = CreateOptions.new(nil,nil,nil,nil,nil,nil,nil,nil,'Asynchronous')
options = nil

#Data Extension Create
de = []
deFields = [
  DataExtensionField.new(nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,'EmailAddress',nil,nil,nil,1,1,1,1,1,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,200,nil,nil,1,nil,nil,0,nil,nil,nil,0,nil,nil,nil,nil,0,1,'Text',nil),
  DataExtensionField.new(nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,'FirstName',nil,nil,nil,true,1,1,1,1,nil,nil,nil,nil,nil,nil,nil,nil,nil,'Valued Subscriber',nil,200,nil,nil,0,nil,nil,1,nil,nil,nil,0,nil,nil,nil,nil,1,0,'Text',nil),
  DataExtensionField.new(nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,'PhoneNumber',nil,nil,nil,1,1,1,1,1,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,200,nil,nil,0,nil,nil,0,nil,nil,nil,0,nil,nil,nil,nil,2,0,'Phone',nil)
]
5.times do |i|
  deName = "APITestDe#{i}"
  deDesc = deName + ' Created through the API'
  de.push(DataExtension.new(nil,nil,nil,nil,nil,nil,nil,deName,nil,nil,deName,deDesc,false,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,[*deFields],nil,nil,nil))
end
apiObj = de

resp = $driver.create(CreateRequest.new(options,[*apiObj]))